package com.xinzhidi.web.equipment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xinzhidi.common.core.page.TableDataInfo;
import com.xinzhidi.web.equipment.domain.EquipmentGroup;
import com.xinzhidi.web.equipment.domain.dto.EquipmentGroupAddDto;
import com.xinzhidi.web.equipment.domain.dto.EquipmentGroupListDto;
import com.xinzhidi.web.equipment.domain.dto.EquipmentGroupUpdDto;
import com.xinzhidi.web.equipment.domain.vo.EquipmentGroupInfoVo;
import com.xinzhidi.web.equipment.domain.vo.EquipmentGroupListVo;
import com.xinzhidi.web.plot.domain.vo.SelectVo;


/**
 * 设备分组Service接口
 *
 * @author ruoyi
 * @date 2023-05-26
 */
public interface IEquipmentGroupService extends IService<EquipmentGroup> {
    /**
     * 查询设备分组
     *
     * @param id 设备分组主键
     * @return 设备分组
     */
    public EquipmentGroupInfoVo selectEquipmentGroupById(Long id);

    /**
     * 查询设备分组列表
     *
     * @param dto 设备分组
     * @return 设备分组集合
     */
    public TableDataInfo<EquipmentGroupListVo> selectEquipmentGroupList(EquipmentGroupListDto dto);

    /**
     * 新增设备分组
     *
     * @param dto 设备分组
     * @return 结果
     */
    public int insertEquipmentGroup(EquipmentGroupAddDto dto);

    /**
     * 修改设备分组
     *
     * @param dto 设备分组
     * @return 结果
     */
    public int updateEquipmentGroup(EquipmentGroupUpdDto dto);

    /**
     * 批量删除设备分组
     *
     * @param ids 需要删除的设备分组主键集合
     * @return 结果
     */
    public int deleteEquipmentGroupByIds(Long[] ids);

    /**
     * 删除设备分组信息
     *
     * @param id 设备分组主键
     * @return 结果
     */
    public int deleteEquipmentGroupById(Long id);

    TableDataInfo<SelectVo> listEquipmentGroupSelect(EquipmentGroupListDto dto);
}
